JHead — компактная консольная программа для работы с EXIF-метаданными в JPEG-файлах. Её используют, когда нужно посмотреть параметры съёмки, удалить лишние служебные данные из фотографии, исправить дату, переименовать серию снимков по времени съёмки, перенести EXIF-заголовок из оригинального файла в отредактированную копию или обработать целую папку через командную строку.
Главная особенность JHead в том, что это не графический просмотрщик и не фоторедактор. У программы нет окна с панелями, вкладками и кнопками. Вся работа строится через команды вида jhead [options] [file...], поэтому JHead особенно хорошо подходит для пакетной обработки JPEG, автоматизации фотоархива и точечных операций с заголовками файлов. Пользователь не открывает фотографию мышью, а указывает файл или маску файлов в терминале: jhead photo.jpg, jhead *.jpg, jhead -purejpg *.jpg.
JHead работает не с художественной частью снимка, а с нерастровыми секциями JPEG. В обычном фото из цифровой камеры рядом с изображением могут храниться дата и время съёмки, модель камеры, параметры экспозиции, встроенная миниатюра, GPS-координаты, IPTC, XMP и комментарий JPEG. Эти данные полезны для сортировки архива, но перед публикацией в интернете часть метаданных лучше удалить: они могут раскрывать место съёмки, модель устройства, время поездки или структуру рабочего процесса.
В обзоре речь идёт именно о JHead как о самостоятельной программе, а не о классе EXIF-утилит. Для визуального просмотра изображений удобнее использовать XnView, XnView MP, IrfanView или FastStone Image Viewer. JHead занимает другую нишу: быстрая командная обработка JPEG-метаданных без запуска тяжёлой графической среды.
Краткая характеристика JHead
| Параметр | Описание |
|---|---|
| Название | JHead |
| Тип программы | консольная утилита для EXIF-метаданных и JPEG-заголовков |
| Основной формат | JPEG/JPG с EXIF-заголовком |
| Интерфейс | командная строка |
| Разработчик | Matthias Wandel |
| Язык интерфейса | английский вывод в терминале |
| Графический интерфейс | отсутствует |
| Основные задачи | просмотр EXIF, очистка метаданных, изменение дат, переименование файлов, перенос EXIF-заголовков, работа с миниатюрами |
| Пакетная обработка | поддерживается через маски файлов и shell-сценарии |
| Дополнительные утилиты | jpegtran для автоповорота, ImageMagick для регенерации миниатюр |
| Лицензия | public domain |
| Типичный пользователь | фотограф, администратор, разработчик, веб-редактор, пользователь с большим JPEG-архивом |
JHead не заменяет универсальные метаданные-комбайны вроде ExifTool. Она решает более узкий круг задач, зато делает это прямолинейно: одна команда — одно действие над одним JPEG или группой файлов. В этом заключается смысл программы. Пользователь видит не каталог кнопок, а набор параметров, которые можно объединять в сценарии обработки.
Для разовой очистки пары снимков проще взять графический инструмент. Для регулярной работы с каталогами, где нужно повторять одинаковую операцию над десятками или сотнями фотографий, JHead удобнее: команда фиксируется в истории терминала, переносится в .bat, .cmd, .sh или другой сценарий, а результат можно проверить повторным выводом EXIF.
Для каких задач подходит JHead
JHead используют в ситуациях, где важна не ретушь изображения, а контроль служебной информации внутри JPEG. Программа помогает привести фотоархив в порядок, удалить приватные данные перед публикацией, исправить дату съёмки после сбоя камеры и вернуть EXIF в файл после обработки в редакторе.
Просмотр параметров съёмки
Команда без дополнительных параметров выводит сводку по JPEG-файлу:
jhead photo.jpgВ ответ JHead показывает имя файла, размер, системную дату, производителя камеры, модель, дату и время съёмки, разрешение, вспышку, фокусное расстояние, выдержку, диафрагму, ISO, баланс белого, режим экспозиции, GPS-поля и другие доступные данные. Набор строк зависит от того, какие поля записаны в конкретном файле.
Такой просмотр полезен, когда нужно быстро понять, чем снята фотография, при каких настройках была сделана экспозиция и есть ли в снимке GPS-данные. Для фотографа это способ проверить серию кадров без открытия Lightroom или другого каталожного ПО. Для веб-редактора — способ увидеть, есть ли в файле метаданные, которые лучше убрать перед публикацией.
Очистка метаданных перед публикацией
Для удаления EXIF используется параметр:
jhead -de photo.jpgДля XMP:
jhead -dx photo.jpgДля IPTC:
jhead -di photo.jpgДля комментария JPEG:
jhead -dc photo.jpgДля очистки лишних JPEG-секций, которые не нужны для отображения изображения, применяется:
jhead -purejpg photo.jpgЭти команды особенно полезны перед загрузкой изображений на сайт, форум, маркетплейс, в блог или в публичный архив. Удаление EXIF убирает не только параметры камеры, но и GPS-данные, если они записаны в EXIF. При этом JHead не является инструментом цифровой экспертизы: она удаляет поддерживаемые секции JPEG, но не анализирует все возможные следы обработки внутри растровой части изображения.
Исправление даты и времени съёмки
Неправильная дата в EXIF появляется после сброса камеры, разряженной батареи, смены часового пояса, перехода на летнее время или съёмки несколькими устройствами с несинхронизированными часами. JHead умеет сдвигать EXIF-время вперёд или назад:
jhead -ta+1:00 *.jpgЭта команда прибавляет один час ко времени съёмки у всех JPEG-файлов, подходящих под маску *.jpg.
Для обратной коррекции используется знак минус:
jhead -ta-0:30 *.jpgТакой вариант уменьшает время на 30 минут. Для больших сдвигов по датам применяется -da, где пользователь задаёт разницу между правильной и ошибочной датой:
jhead -da2005:05:29/11:21-2002:01:01 *.jpgЕсли нужно установить конкретную дату и время, используется -ts:
jhead -ts2024:06:15-14:30:00 photo.jpgДля установки только даты применяется -ds:
jhead -ds2024:06:15 photo.jpgJHead меняет EXIF-поля даты, а не просто имя файла. Поэтому после исправления снимки корректнее сортируются в программах, которые ориентируются на DateTimeOriginal.
Переименование фотографий по EXIF-дате
Папки с фотографиями часто содержат имена вида IMG_0001.JPG, DSC01234.JPG, P1000250.JPG. Такие названия ничего не говорят о времени съёмки и плохо подходят для архива из разных камер. JHead умеет переименовывать файлы по дате из EXIF:
jhead -n%Y-%m-%d_%H-%M-%S *.jpgПосле такой обработки файл получает имя по шаблону год-месяц-день_час-минута-секунда. Для фотоархива это удобнее ручного переименования: снимки разных камер выстраиваются в хронологическом порядке, а имя файла остаётся читаемым даже вне каталогизатора.
В форматной строке используются элементы strftime: %Y — год, %m — месяц, %d — день, %H — час, %M — минута, %S — секунда. JHead также поддерживает %f для подстановки исходного имени без расширения и %i для порядкового номера. Если новое имя уже занято, программа добавляет к нему дополнительные символы, чтобы избежать прямого перезаписывания.
Перенос EXIF из оригинала в обработанный JPEG
Графические редакторы и конвертеры могут сохранять JPEG без исходного EXIF. В такой ситуации JHead помогает вернуть EXIF-заголовок из оригинальной фотографии:
jhead -te original.jpg edited.jpgДля пакетного переноса используется подстановка имени файла:
jhead -te originals/&i *.jpgСценарий простой: в папке originals лежат исходные JPEG, а в рабочей папке — отредактированные изображения с такими же именами. JHead берёт EXIF из соответствующего оригинала и переносит его в обработанную копию. Это полезно после пакетной коррекции изображений, когда нужно сохранить дату съёмки, модель камеры и техническую информацию.
Работа с EXIF-миниатюрами
В EXIF-заголовке может храниться встроенная миниатюра. Камеры и просмотрщики используют её для ускоренного показа превью. После поворота или обработки основного изображения миниатюра может устареть: основное фото уже повернуто, а встроенный thumbnail остаётся прежним.
JHead умеет удалить миниатюру:
jhead -dt photo.jpgСохранить встроенную миниатюру в отдельный файл:
jhead -st thumbnail.jpg photo.jpgЗаменить миниатюру:
jhead -rt thumbnail.jpg photo.jpgСгенерировать новую миниатюру через ImageMagick:
jhead -rgt photo.jpgЭти функции нужны не каждому пользователю, но они важны при обслуживании старых фотоархивов, где просмотрщики ориентируются на встроенные EXIF-превью.
Автоповорот JPEG по Orientation tag
Современные камеры и смартфоны часто не поворачивают пиксели физически, а записывают в EXIF тег ориентации. Просмотрщик видит этот тег и показывает изображение вертикально, но программы без учёта EXIF могут открыть файл боком.
JHead выполняет автоповорот по тегу Orientation:
jhead -autorot *.jpgДля фактического поворота используется jpegtran. После операции JHead сбрасывает тег ориентации в нормальное положение, чтобы просмотрщики не повернули изображение повторно. Если файл уже повернули другой программой, но старый тег ориентации остался, применяется:
jhead -norot photo.jpgЭта команда очищает указание ориентации без поворота изображения.
Как устроен интерфейс JHead
Интерфейс JHead — это не окно приложения, а синтаксис командной строки. Пользователь открывает Command Prompt, PowerShell, Terminal, Bash, Zsh или другой shell, переходит в папку с фотографиями и запускает команду с нужными параметрами.
Базовая форма выглядит так:
jhead [options] [file...]Здесь options — параметры действия, а file... — один файл, несколько файлов или маска. Например:
jhead IMG_0001.JPG
jhead IMG_0001.JPG IMG_0002.JPG
jhead *.jpgВместо кнопки Open используется путь к файлу. Вместо меню Export — параметр сохранения, удаления или изменения. Вместо диалогового окна подтверждения — вывод в терминале. Это делает JHead непривычной для новичка, но удобной для повторяемых операций.
Что показывает JHead при просмотре фотографии
Обычный вывод по JPEG-файлу может включать такие строки:
| Поле в выводе | Что означает |
File name | имя обрабатываемого файла |
File size | размер файла |
File date | системная дата файла |
Camera make | производитель камеры |
Camera model | модель камеры |
Date/Time | дата и время съёмки из EXIF |
Resolution | размер изображения в пикселях |
Flash used | сведения о вспышке |
Focal length | фокусное расстояние |
CCD Width | расчётная ширина сенсора |
Exposure time | выдержка |
Aperture | диафрагма |
Focus Dist. | дистанция фокусировки при наличии данных |
ISO equiv. | ISO |
Whitebalance | баланс белого |
Metering Mode | режим замера экспозиции |
Exposure | режим экспозиции |
GPS Latitude | широта при наличии GPS |
GPS Longitude | долгота при наличии GPS |
JPEG quality | оценка качества JPEG |
JHead выводит только те данные, которые присутствуют в файле и распознаются программой. Один снимок может содержать GPS, другой — нет; один файл хранит сведения о вспышке, другой ограничивается датой, моделью камеры и разрешением.
Режимы вывода
Для обычного просмотра достаточно команды без параметров:
jhead photo.jpgДля более подробного вывода используется:
jhead -v photo.jpgДля краткой строки, удобной для дальнейшей обработки, применяется:
jhead -c photo.jpgКраткий вывод полезен при поиске по большому набору файлов, импорте сведений в таблицу или фильтрации строк через консольные инструменты. Подробный вывод нужен при анализе необычных EXIF-заголовков, проверке нестандартных полей и диагностике файлов, которые по-разному открываются в просмотрщиках.
Почему отсутствие графического интерфейса здесь не недостаток для всех
Для пользователя, который привык к окнам, JHead выглядит сурово: нет панели предпросмотра, нет галочек, нет кнопки Apply. Но у консольной логики есть преимущества:
команда легко повторяется на сотнях файлов;
действие можно сохранить в сценарий;
обработка не зависит от графической оболочки;
JHead удобно запускать на сервере, в удалённой сессии или в минимальном окружении;
результат можно быстро проверить повторной командой;
программа не требует ручного выбора каждого файла мышью.
Ограничение тоже прямое: JHead не подходит тем, кто хочет видеть фотографии перед обработкой, выбирать кадры глазами, сравнивать thumbnails и редактировать метаданные через форму. Для визуального отбора лучше открыть архив в XnView MP, а JHead оставить для точных командных операций.
Основные команды JHead
JHead строится вокруг небольшого, но насыщенного набора параметров. Их важно понимать не как набор случайных сокращений, а как рабочие группы: просмотр, удаление секций, дата и время, переименование, миниатюры, комментарии, ориентация и выбор файлов.
Просмотр EXIF
Команда:
jhead photo.jpgНазначение: вывести читаемую сводку EXIF и JPEG-параметров. Это первый шаг почти перед любой операцией. Перед удалением EXIF пользователь видит, какие данные есть в файле. Перед исправлением даты — какая дата записана. Перед переименованием — есть ли DateTimeOriginal, на которую будет опираться имя.
Для обработки всей папки:
jhead *.jpgПри таком запуске JHead последовательно выведет информацию по каждому файлу, подходящему под маску. В больших каталогах вывод получается длинным, поэтому его можно перенаправлять в файл стандартными средствами shell:
jhead *.jpg > exif-report.txtJHead не создаёт отчёт как отдельную функцию приложения; отчёт формируется самим shell через перенаправление вывода. Это типичный пример, как консольная программа встраивается в общий рабочий процесс.
Удаление комментария JPEG: -dc
jhead -dc photo.jpg-dc удаляет comment field из JPEG-заголовка. Это не EXIF-комментарий, а отдельная секция JPEG. Такой комментарий могут добавлять некоторые редакторы, конвертеры или утилиты. При подготовке изображений к публикации команда помогает убрать текстовые следы обработки.
Удаление EXIF: -de
jhead -de photo.jpg-de удаляет EXIF-заголовок. После такой операции исчезают дата съёмки, модель камеры, параметры экспозиции, GPS-поля внутри EXIF и другие EXIF-данные. Команда не предназначена для сохранения отдельных EXIF-тегов: она удаляет секцию целиком.
Для папки:
jhead -de *.jpgПеред такой обработкой лучше сделать копию каталога. После удаления EXIF восстановить данные из этого же очищенного файла нельзя; их можно вернуть только из сохранённого оригинала или внешней копии метаданных.
Удаление IPTC: -di
jhead -di photo.jpg-di удаляет IPTC-секцию, если она присутствует. IPTC часто используется в редакционных и фотобанковских процессах: подписи, авторство, категории, описания. Если файл готовится к публичной публикации без служебных данных, IPTC можно удалить отдельно от EXIF.
Удаление XMP: -dx
jhead -dx photo.jpg-dx удаляет XMP-секцию. XMP может содержать сведения, добавленные Adobe-приложениями, DAM-системами, редакторами или другими инструментами обработки. В отличие от -de, команда не трогает EXIF, а работает именно с XMP.
Удаление лишних JPEG-секций: -du
jhead -du photo.jpg-du удаляет секции JPEG, которые не являются EXIF, comment field и не участвуют в отображении изображения. Команда полезна, когда после обработки в редакторе внутри файла остаются служебные блоки, не нужные для показа картинки.
Очистка до чистого JPEG: -purejpg
jhead -purejpg photo.jpg-purejpg удаляет секции JPEG, которые не нужны для рендеринга изображения. В практическом сценарии это команда для подготовки файла к публикации, когда нужно оставить изображение, но убрать метаданные и лишние служебные данные.
Для каталога:
jhead -purejpg *.jpgЭта команда не равна сжатию фотографии и не является заменой оптимизатора JPEG. JHead работает с заголовками и секциями, а не с перекодированием пикселей. Размер файла может уменьшиться, если в нём были крупные миниатюры, XMP, IPTC или другие блоки, но программа не занимается художественной компрессией изображения.
Создание минимального EXIF: -mkexif
jhead -mkexif photo.jpg-mkexif создаёт минимальный EXIF-заголовок. Такой заголовок содержит дату/время и пустые поля для миниатюры. Возможности создания EXIF ограничены: JHead не является редактором произвольных EXIF-тегов и не добавляет свободный набор полей вроде универсальных метаданных-редакторов.
Команда полезна в узком случае: файл лишён EXIF, но нужно создать минимальную структуру для дальнейших операций с датой или миниатюрой.
Редактирование JPEG-комментария: -ce, -cl, -cs, -ci
Для редактирования комментария через текстовый редактор:
jhead -ce photo.jpgJHead создаёт временный файл с комментарием, открывает редактор из переменной окружения EDITOR, а после закрытия переносит текст обратно в JPEG. Если редактор не задан, используются стандартные варианты для платформы.
Для записи комментария прямо из командной строки:
jhead -cl "Описание снимка" photo.jpgДля сохранения комментария в файл:
jhead -cs comment.txt photo.jpgДля замены комментария содержимым файла:
jhead -ci comment.txt photo.jpgЭти команды работают с JPEG comment field. Они не заменяют полноценное редактирование EXIF UserComment, XMP Description или IPTC Caption.
Синхронизация системной даты и EXIF: -ft, -dsft
Системная дата файла и дата съёмки внутри EXIF — разные значения. Файл мог быть скопирован, отредактирован, выгружен из мессенджера или архивирован, поэтому дата изменения на диске не всегда совпадает с моментом съёмки.
Команда -ft устанавливает системную дату файла по EXIF-дате:
jhead -ft photo.jpgЭто полезно, если просмотрщик или файловый менеджер сортирует изображения по дате файла, а не по DateTimeOriginal.
Команда -dsft делает обратное: записывает EXIF-время по системной дате файла:
jhead -dsft photo.jpgДля -dsft EXIF-заголовок должен уже существовать. Если его нет, сначала создают минимальную структуру через -mkexif, но это не восстанавливает потерянные исходные данные камеры.
Переименование и перемещение по дате: -n
Переименование по EXIF-дате:
jhead -n%Y%m%d-%H%M%S *.jpgРезультат: имена вида 20240615-143000.jpg.

Более читаемый вариант:
jhead -n%Y-%m-%d_%H-%M-%S *.jpgС добавлением исходного имени:
jhead -n%Y-%m-%d_%H-%M-%S_%f *.jpgС порядковым номером:
jhead -n%Y-%m-%d_%H-%M-%S_%03i *.jpgНа Windows в .bat-файлах символ % имеет специальное значение, поэтому его экранируют двойным процентом:
jhead -n%%Y%%m%%d-%%H%%M%%S *.jpgJHead может не только переименовывать, но и перемещать файл, если в формате имени указан путь. Например, имя с разделителем каталога воспринимается как путь назначения. Такой сценарий полезен для разборки архива по датам, но его нужно проверять на копии: ошибка в шаблоне может быстро переместить большое число файлов.
Коррекция времени: -ta
Сдвиг на один час вперёд:
jhead -ta+1:00 *.jpgСдвиг на 23 секунды назад:
jhead -ta-0:00:23 *.jpgСдвиг на 49 часов вперёд:
jhead -ta+49 *.jpg-ta подходит для корректировки часового пояса, перехода на летнее время и синхронизации камер, когда разница между неправильным и правильным временем выражается в часах, минутах или секундах.
Коррекция больших дат: -da
-da используется, когда камера снимала с неправильной датой: например, после сброса батареи устройство вернулось к заводскому значению.
Пример:
jhead -da2005:03:01-2004:03:01 *.jpgКоманда задаёт разницу между правильной и ошибочной датой. Это надёжнее простой прибавки месяцев и лет, потому что месяцы имеют разную длину, а годы отличаются високосными днями.
Установка конкретной даты: -ts, -ds, -tf
Полная дата и время:
jhead -ts2024:06:15-14:30:00 photo.jpgТолько дата:
jhead -ds2024:06:15 photo.jpgГод и месяц:
jhead -ds2024:06 photo.jpgТолько год:
jhead -ds2024 photo.jpgДата из другого файла:
jhead -tf reference.jpg photo.jpgТакие команды подходят для небольших наборов файлов, где нужно вручную задать известный момент съёмки или синхронизировать дату с другим файлом.
Миниатюры: -dt, -st, -rt, -rgt
Удаление встроенной миниатюры:
jhead -dt photo.jpgСохранение встроенной миниатюры:
jhead -st thumbnail.jpg photo.jpgПакетное сохранение миниатюр в отдельную папку:
jhead -st "thumbnails/&i" *.jpgЗамена миниатюры:
jhead -rt thumbnail.jpg photo.jpgРегенерация миниатюры:
jhead -rgt photo.jpg-rgt использует ImageMagick. Если ImageMagick не установлен и не доступен из командной строки, JHead не сможет сгенерировать новую миниатюру этим способом.
Автоповорот: -autorot, сброс ориентации: -norot
Автоматический поворот:
jhead -autorot *.jpgСброс тега ориентации без поворота:
jhead -norot photo.jpg-autorot нужен для снимков, где камера записала ориентацию в EXIF, но пиксели физически остались повернутыми. -norot нужен после внешнего поворота, когда изображение уже выглядит правильно, но старый EXIF-тег заставляет просмотрщики поворачивать его повторно.
Выбор файлов по модели камеры: -model
jhead -model "Canon" *.jpg-model ограничивает обработку файлами, где модель камеры содержит указанную строку. Это полезно, если в одной папке лежат фотографии с разных устройств и исправлять нужно только одну группу. Например, можно отдельно обработать снимки камеры, у которой неверно стояли часы.
Пропуск файлов без EXIF: -exonly
jhead -exonly *.jpg-exonly пропускает файлы без EXIF-заголовка. Параметр нужен при смешанном каталоге, где есть фотографии из камеры, скриншоты, обработанные изображения и JPEG без EXIF. Он снижает количество лишних сообщений и не тратит действие на файлы, где нужной структуры нет.
Тихий режим: -q
jhead -q -purejpg *.jpg-q уменьшает количество сообщений об успешных операциях. Это удобно в сценариях, где важны только ошибки, а нормальные действия не должны засорять лог.
Подробный режим: -v
jhead -v photo.jpg-v выводит больше сведений. Этот режим полезен при диагностике файлов, в которых обычной сводки недостаточно.
Пошаговая инструкция по работе с JHead
Подготовка: сделать копию каталога
JHead меняет файлы напрямую. Это не редактор с кнопкой отмены и не каталогизатор, который сначала создаёт проект. Перед удалением EXIF, изменением дат, автоповоротом, переименованием или переносом заголовков нужно создать копию папки.
Правильный порядок:
Скопировать папку с JPEG в тестовое место.
Выполнить команду на 1–3 файлах.
Проверить вывод JHead после операции.
Открыть изображения в просмотрщике.
Запустить команду на всей копии каталога.
Только после проверки переносить результат в основной архив.
Такой подход особенно важен для команд -de, -purejpg, -n, -ta, -da, -autorot. Они обрабатывают много файлов быстро, но не спрашивают каждый раз, уверен ли пользователь.
Шаг 1. Открыть командную строку
На Windows JHead запускают через Command Prompt или PowerShell. На Linux и macOS — через Terminal. Графического окна у программы нет, поэтому двойной щелчок по исполняемому файлу не является рабочим способом использования.
В терминале нужно перейти в папку с фотографиями. Для Windows путь может выглядеть так:
cd C:\Users\User\Pictures\TripЕсли в пути есть пробелы, используются кавычки:
cd "C:\Users\User\Pictures\Summer Trip"Для Linux:
cd ~/Pictures/TripПроверить содержимое папки можно стандартными командами оболочки:
lsили на Windows:
dirШаг 2. Посмотреть EXIF одного файла
Команда:
jhead IMG_0001.JPGРезультат покажет, есть ли EXIF и какие поля доступны. Важно сначала выполнить именно просмотр, а не удаление. По выводу сразу видно, записаны ли дата, модель камеры, ISO, выдержка, GPS-координаты и другие данные.
Если JHead выводит только ограниченную информацию или сообщает об отсутствии EXIF, значит дальнейшие операции с EXIF-даты для этого файла не дадут ожидаемого результата. Переименование по дате в такой ситуации опирается на дату файла, а не на момент съёмки.
Шаг 3. Проверить данные всей папки
jhead *.jpgНа Linux важен регистр расширения: *.jpg и *.JPG — разные маски. Для файлов с верхним регистром:
jhead *.JPGНа Windows регистр обычно не создаёт такой проблемы, но аккуратная маска всё равно помогает контролировать, какие файлы попадают в обработку.
Шаг 4. Удалить EXIF у тестового файла
jhead -de IMG_0001.JPGПроверка:
jhead IMG_0001.JPGЕсли EXIF удалён, JHead больше не покажет прежнюю дату съёмки, модель камеры и параметры экспозиции. Для публикации этого может быть достаточно, но XMP, IPTC и comment field при необходимости удаляются отдельными параметрами.
Шаг 5. Очистить JPEG от лишних секций
jhead -purejpg IMG_0001.JPGПосле -purejpg стоит открыть изображение в просмотрщике. Пиксели должны отображаться, но метаданные и дополнительные секции будут удалены. Команда подходит для копии, которую отправляют на сайт, но не для единственного архива оригиналов.
Шаг 6. Исправить время съёмки
Для одного файла:
jhead -ta+1:00 IMG_0001.JPGДля всей папки:
jhead -ta+1:00 *.JPGПроверка:
jhead IMG_0001.JPGВ строке Date/Time должно появиться исправленное значение. Если нужно обработать только снимки конкретной камеры, сначала можно отобрать их через -model.
Шаг 7. Переименовать фотографии по дате съёмки
Перед переименованием стоит вывести список файлов и убедиться, что в каждом есть корректная дата:
jhead *.JPGЗатем выполнить переименование:
jhead -n%Y-%m-%d_%H-%M-%S *.JPGПосле операции файлы получают имена, отражающие дату и время съёмки. В папках с фотографиями нескольких камер это помогает восстановить последовательность событий.
Шаг 8. Вернуть EXIF в отредактированные файлы
Структура папок:
project/
originals/
IMG_0001.JPG
IMG_0002.JPG
edited/
IMG_0001.JPG
IMG_0002.JPGВ папке edited выполняется:
jhead -te ../originals/&i *.JPGJHead подставляет имя каждого обрабатываемого файла вместо &i и берёт EXIF из соответствующего оригинала. Такой сценарий нужен, когда обработанные файлы сохранились без EXIF, но исходники остались.
На Windows и в Unix-оболочках символ & имеет специальное значение, поэтому путь с &i часто заключают в кавычки:
jhead -te "../originals/&i" *.JPGПрактические сценарии использования JHead
Подготовка фотографий к публикации на сайте
Задача: оставить изображение, но убрать сведения о камере, месте съёмки и редакторской обработке.
Команды:
jhead -de photo.jpg
jhead -dx photo.jpg
jhead -di photo.jpg
jhead -dc photo.jpgИли более жёсткая очистка:
jhead -purejpg photo.jpgДля папки:
jhead -purejpg *.jpgЭтот сценарий подходит веб-редакторам, блогерам, владельцам каталогов, авторам инструкций и пользователям, которые публикуют снимки в открытом доступе. Перед обработкой нужно работать с копией, потому что вместе с EXIF исчезнут дата съёмки, модель камеры и GPS-координаты.
Для визуальной проверки результата после очистки можно открыть изображения в IrfanView или FastStone Image Viewer, а JHead использовать для контрольного вывода метаданных.
Сортировка фотоархива по времени съёмки
Задача: фотографии с нескольких камер лежат в одной папке, имена не отражают порядок событий.
Команда:
jhead -n%Y-%m-%d_%H-%M-%S *.jpgПосле переименования файлы сортируются по имени в том же порядке, что и по времени съёмки. Это удобно для поездок, свадеб, мероприятий, репортажей и семейных архивов.
Если у одной камеры часы отставали, сначала исправляют её снимки:
jhead -model "Canon" -ta+0:17 *.jpgЗатем переименовывают весь каталог:
jhead -n%Y-%m-%d_%H-%M-%S *.jpgТакой подход избавляет от ручного перетаскивания файлов и особенно полезен, когда в папке сотни JPEG.
Исправление даты после сброса камеры
Задача: камера после разряда батареи писала неправильный год и дату.
Команда с большой коррекцией:
jhead -da2024:07:10/18:30-2002:01:01 *.jpgJHead рассчитывает разницу между ошибочной датой и правильной датой, затем применяет её к каждому файлу. Это лучше ручной установки одной даты для всех снимков: фотографии, сделанные в разные дни, сохраняют относительный порядок.
Для небольшого сдвига по времени лучше использовать -ta, а для неправильного года, месяца или дня — -da.
Восстановление EXIF после графического редактора
Задача: редактор сохранил обработанные JPEG без EXIF, а оригиналы остались.
Команда:
jhead -te originals/&i *.jpgJHead переносит EXIF-заголовок по совпадающему имени. Это удобно после пакетной обработки в редакторе, который удалил метаданные при экспорте. Важно, чтобы отредактированные файлы соответствовали оригиналам по имени; иначе можно перенести EXIF не от того снимка.
Очистка встроенных миниатюр
Задача: убрать EXIF-thumbnail, который увеличивает файл или показывает старую версию кадра.
Команда:
jhead -dt *.jpgПосле удаления миниатюры основное изображение остаётся. Это не уменьшение качества фотографии и не изменение пикселей; JHead удаляет встроенное превью внутри EXIF-заголовка.

Исправление ориентации снимков
Задача: часть фотографий открывается боком в некоторых программах.
Команда:
jhead -autorot *.jpgJHead использует jpegtran, поворачивает изображение по EXIF-тегу ориентации и приводит тег в нормальное состояние. Если изображение уже повернули другой программой, но тег остался неправильным:
jhead -norot *.jpgПеред массовым запуском нужно проверить несколько файлов. Неправильное применение -norot не повернёт изображение, а только сбросит указание ориентации.
Поддерживаемые форматы и границы применения
Основная рабочая зона JHead — JPEG/JPG с EXIF-заголовком. Программа создавалась вокруг фотографий цифровых камер, где EXIF хранится внутри JPEG. Поэтому большинство сценариев JHead связано именно с JPEG: просмотр параметров съёмки, удаление EXIF, перенос заголовков, миниатюры, автоповорот, переименование по DateTimeOriginal.
В ветке разработки JHead появилась работа с EXIF в PNG и WebP, но обзор программы в практическом смысле следует строить вокруг JPEG. Именно для JPEG доступны наиболее понятные и зрелые сценарии: -de, -purejpg, -te, -dt, -st, -rt, -autorot, -norot, -n.
JHead не стоит воспринимать как универсальный редактор метаданных для всех изображений, видео, PDF, RAW и sidecar-файлов. Для такой задачи лучше подходит ExifTool. JHead сильнее в другом: быстро выполнить ограниченный набор операций над JPEG без лишнего интерфейса.
Что JHead делает уверенно
выводит читаемую сводку EXIF из JPEG;
показывает дату съёмки, модель камеры, параметры экспозиции и GPS при наличии;
удаляет EXIF, IPTC, XMP и comment field отдельными командами;
очищает лишние JPEG-секции через
-purejpg;исправляет EXIF-время относительным сдвигом;
устанавливает конкретную дату и время;
синхронизирует EXIF-даты и системные даты файлов;
переименовывает JPEG по дате съёмки;
переносит EXIF-заголовок из одного JPEG в другой;
работает со встроенными EXIF-миниатюрами;
выполняет автоповорот по тегу ориентации через
jpegtran;подходит для пакетной обработки через маски файлов.
Что не является сильной стороной JHead
визуальное редактирование метаданных;
выбор файлов мышью по миниатюрам;
массовая правка произвольных EXIF-тегов;
работа с большим числом мультимедийных и документных форматов;
редактирование RAW-метаданных;
полноценная DAM-организация фотоархива;
исправление растровой части изображения;
художественная обработка фотографии;
замена универсального ExifTool.
Эти ограничения не делают программу слабой. Они описывают её назначение: JHead — инструмент для конкретных операций с JPEG/EXIF, а не большой графический редактор.
Системные требования
JHead относится к лёгким консольным программам. Ей не нужна графическая среда, отдельный каталог проектов, база данных изображений или фоновая служба. Основное требование — операционная система, где можно запустить исполняемый файл или собрать программу из исходного кода, и доступ к командной строке.
| Компонент | Требование или условие |
| Тип программы | консольная утилита |
| Интерфейс | Command Prompt, PowerShell, Terminal, Bash, Zsh или другой shell |
| Основные платформы | Windows и Linux; исходный код пригоден для сборки на Unix-подобных системах |
| Формат основной работы | JPEG/JPG с EXIF |
| Процессор | специальных высоких требований не заявлено |
| Оперативная память | специальных высоких требований не заявлено |
| Дисковое пространство | занимает очень мало места по сравнению с графическими фоторедакторами |
| Дополнительная утилита для автоповорота | jpegtran |
| Дополнительная утилита для регенерации thumbnail | ImageMagick |
| Интернет для обработки файлов | не требуется |
| Русская локализация | отсутствует |
| Графический интерфейс | отсутствует |
На Windows пользователь работает с исполняемым файлом и командной строкой. На Linux JHead часто доступен как системный пакет. При сборке из исходников используется компилятор C; для Windows в проекте предусмотрен batch-файл сборки, для Linux — make.
Отсутствие заявленных высоких требований к процессору и памяти логично для программы такого класса: JHead читает и изменяет заголовки JPEG, а не строит каталог превью и не редактирует пиксели. При этом скорость обработки зависит от накопителя, количества файлов, размера JPEG и дополнительных операций. Например, -autorot использует внешнюю утилиту для физического поворота JPEG, а -rgt обращается к ImageMagick для миниатюры.
Преимущества и ограничения JHead
Плюсы
JHead запускается из командной строки и легко встраивается в пакетные сценарии.
Программа быстро показывает EXIF-сводку JPEG без открытия графического просмотрщика.
Команды
-de,-dx,-di,-dcи-purejpgпозволяют очищать разные секции JPEG.-ta,-da,-ts,-ds,-ftи-dsftзакрывают основные задачи с датой и временем.-nпереименовывает фотографии по EXIF-дате и помогает привести фотоархив к хронологическому порядку.-teпереносит EXIF-заголовок из оригинала в отредактированный JPEG.Программа умеет работать со встроенными EXIF-миниатюрами.
-autorotпомогает привести ориентацию JPEG к нормальному виду черезjpegtran.JHead не требует графического интерфейса и подходит для удалённых, серверных и минимальных окружений.
Исходный код написан на C и распространяется как public domain.
Минусы
У JHead нет графического интерфейса, предпросмотра и визуального выбора файлов.
Основная специализация программы — JPEG/EXIF, а не любые метаданные любых форматов.
Для автоповорота требуется
jpegtran.Для регенерации EXIF-миниатюр используется ImageMagick.
Правка произвольных EXIF-тегов ограничена; для глубокой работы лучше использовать ExifTool.
Команды изменяют файлы напрямую, поэтому перед пакетной обработкой нужна копия.
Русской локализации нет.
Пользователю без опыта командной строки потребуется разобраться с путями, масками, кавычками и параметрами.
Безопасность, приватность и риск потери данных
JHead часто используют для приватности: программа удаляет EXIF, XMP, IPTC, comment field и лишние JPEG-секции. Но очистка метаданных — необратимое действие для конкретного обработанного файла. Если удалить EXIF из единственного оригинала, дата съёмки, модель камеры, настройки экспозиции и GPS уже не вернутся из этого же JPEG.
Какие данные может раскрывать JPEG
В зависимости от устройства и настроек файл может содержать:
дату и время съёмки;
модель камеры или смартфона;
производителя устройства;
фокусное расстояние;
выдержку;
диафрагму;
ISO;
вспышку;
баланс белого;
режим экспозиции;
GPS-координаты;
описание, подписи, категории;
данные редактора в XMP;
встроенную миниатюру.
GPS-координаты — самый очевидный риск, но не единственный. Дата съёмки может раскрывать график поездки, модель камеры — тип оборудования, XMP — программу обработки, а встроенная миниатюра иногда показывает кадр до обрезки или поворота.
Как безопасно очищать фотографии
Минимальный безопасный процесс:
Создать папку
publishилиclean.Скопировать туда JPEG, которые будут публиковаться.
Выполнить
jhead -purejpg *.jpgили набор отдельных команд.Проверить один файл через
jhead photo.jpg.Открыть файл в просмотрщике и убедиться, что изображение отображается нормально.
Публиковать только очищенную копию.
Такой порядок сохраняет оригиналы с полным EXIF и одновременно даёт безопасные файлы для публичного размещения.
Когда не стоит очищать EXIF
Удаление EXIF не подходит для архива исходников, фотодоказательств, рабочих материалов фотографа, редакционных исходников и коллекций, где важны дата, параметры камеры и координаты. В таких случаях лучше хранить оригинал без изменений, а очищать только экспортные копии.
Сравнение с аналогами
JHead не единственная программа для работы с EXIF. Её нужно сравнивать не с абстрактными утилитами, а с конкретными инструментами, которые решают похожие задачи: ExifTool, Exiv2, ExifCleaner, jpegtran и XnView MP.
| Программа | Интерфейс | Основная задача | Форматы | Сильная сторона | Ограничение |
| JHead | командная строка | EXIF и JPEG-заголовки | главным образом JPEG/JPG | простые пакетные операции с JPEG/EXIF | нет GUI и глубокой правки всех тегов |
| ExifTool | командная строка, Perl-библиотека | чтение, запись и редактирование метаданных | очень широкий набор форматов | максимальная глубина и универсальность | сложнее для новичка |
| Exiv2 | командная строка и C++ library | EXIF, IPTC, XMP, ICC | разные графические форматы | удобна для разработчиков и приложений | не настолько универсальна, как ExifTool |
| ExifCleaner | графический интерфейс | удаление метаданных | изображения, видео, PDF и другие файлы | drag-and-drop очистка без команд | не инструмент тонкой EXIF-правки |
| jpegtran | командная строка | lossless-трансформации JPEG | JPEG | поворот и преобразования без перекодирования | не редактор EXIF |
| XnView MP | графический интерфейс | просмотр, организация и пакетная обработка изображений | много графических форматов | визуальный выбор и работа с коллекцией | хуже подходит для простых shell-сценариев |
JHead и ExifTool
ExifTool глубже и шире: он работает с большим количеством форматов и тегов, читает и пишет сложные метаданные, применяется в цифровой криминалистике, архивах, медиа-процессах и автоматизации. Если нужно менять произвольные EXIF, XMP, IPTC, MakerNotes, экспортировать JSON или обрабатывать не только JPEG, ExifTool предпочтительнее.
JHead проще. Она лучше подходит, когда задача ограничена JPEG: удалить EXIF, поправить дату, переименовать фото, перенести заголовок, очистить JPEG-секции. Для пользователя, которому не нужна вся глубина ExifTool, JHead оказывается быстрее в освоении: меньше параметров, меньше вариантов вывода, меньше риска утонуть в тегах.
JHead и Exiv2
Exiv2 — это C++ library и командная утилита для метаданных изображений. Её выбирают разработчики, которым нужно встроить работу с EXIF, IPTC, XMP или ICC в приложение. JHead тоже написан на C и полезен для понимания JPEG/EXIF, но не является универсальной библиотекой уровня Exiv2.
Для пользователя разница практическая: JHead проще для прямой обработки JPEG через команды, Exiv2 гибче как часть программной инфраструктуры и инструмент для более общей работы с метаданными.
JHead и ExifCleaner
ExifCleaner рассчитан на пользователей, которым нужно удалить метаданные через окно приложения. Файлы или папки перетаскиваются в интерфейс, очистка выполняется визуально. Это удобный вариант для тех, кто не хочет писать команды.
JHead лучше подходит для повторяемых сценариев. Например, команда jhead -purejpg *.jpg быстро обрабатывает папку без ручного перетаскивания. Если пользователь регулярно готовит изображения к публикации, консольная команда удобнее. Если задача разовая и человек не работает с терминалом, ExifCleaner проще.
JHead и jpegtran
jpegtran не является аналогом JHead по метаданным. Это утилита для lossless-трансформаций JPEG: поворот, отражение, оптимизация. JHead использует jpegtran для -autorot, но сама решает задачу на уровне EXIF-ориентации: считывает тег, запускает поворот и обновляет ориентацию.
Если нужно только повернуть JPEG без потери, можно использовать jpegtran напрямую. Если нужно автоматически ориентироваться на EXIF-тег и встроить операцию в процесс работы с метаданными, удобнее запускать jhead -autorot.
JHead и XnView MP
XnView MP — графический просмотрщик и менеджер изображений. Он удобен для визуального отбора, сравнения снимков, пакетного переименования, просмотра коллекций и работы с разными графическими форматами. Для пользователя, который сначала выбирает кадры глазами, XnView MP комфортнее.
JHead не показывает миниатюры и не заменяет просмотрщик. Она полезна после отбора: когда список файлов уже определён, нужно выполнить точную операцию над заголовками. В связке эти инструменты не конкурируют: XnView MP помогает выбрать и проверить изображения, JHead — быстро изменить EXIF или очистить JPEG.
Отзывы пользователей и профильных изданий
JHead относится к утилитам, которые редко обсуждают как массовое потребительское приложение. У неё нет маркетингового интерфейса, крупных релизных презентаций и визуального редактора. Оценки вокруг программы обычно сосредоточены на другом: работает ли команда, насколько удобно обрабатывать каталог, хватает ли функций для JPEG/EXIF, насколько понятен вывод.

Softpedia
Softpedia оценивает JHead как простое командное приложение для просмотра и изменения EXIF в JPEG. В обзоре подчёркивается, что программа работает через command-line interface, поддерживает перенос EXIF из одного файла в другой, удаление comment fields, IPTC и XMP, очистку ненужных JPEG-данных, создание минимальной EXIF-секции, сохранение комментария в файл, изменение времени, переименование по дате и замену thumbnails.
Редакционная оценка Softpedia — 4.0/5. Пользовательская оценка на странице программы — 3.9/5 на основе 12 голосов. Такой профиль хорошо соответствует характеру JHead: программа функциональна для своей ниши, но отсутствие визуального интерфейса ограничивает аудиторию.
LinuxLinks
LinuxLinks описывает JHead как open source command line driven utility для извлечения настроек цифровой камеры из EXIF. В перечне возможностей выделяются чтение параметров съёмки, установка и коррекция EXIF-времени, работа с встроенными миниатюрами, перенос EXIF-заголовка, редактирование JPEG comment fields, автоповорот через jpegtran, обработка больших партий JPEG и отображение GPS-данных.
Для Linux-аудитории это точное позиционирование: JHead воспринимается не как красивое приложение, а как практичный инструмент командной строки, который делает повторяемую работу с JPEG.
gHacks
gHacks рассматривает JHead как JPEG header manipulation tool для Windows, Mac и Linux. В материале акцент сделан на том, что EXIF добавляется цифровыми камерами, смартфонами и планшетами, может содержать дату, модель камеры, разрешение, миниатюры и местоположение, а потому имеет значение для приватности.
Издание описывает JHead как программу, которая выводит EXIF для одного или нескольких JPEG и умеет редактировать, добавлять и удалять данные. Отдельно отмечается работа с wildcard-масками, например jhead *.jpg, и возможность перенаправлять вывод в файл. Это типичный сценарий для пользователей, которым нужно быстро проверить или очистить набор снимков.
Make Tech Easier
Make Tech Easier включает JHead в подборку EXIF-инструментов для Linux и выделяет её специализацию на чтении и редактировании заголовков JPEG. В сравнении с ExifTool и ImageMagick JHead описывается как минималистичная программа, ориентированная на JPEG.
Сильная сторона в таком обзоре — простота и низкие требования к ресурсам. Ограничение — работа главным образом с JPEG и более суровый опыт для пользователей без привычки к командной строке.
Linux Mint Community
В карточке Linux Mint Community у JHead есть пользовательские отзывы с максимальными оценками. Смысл отзывов сводится к трём практическим тезисам: быстро, просто, помогает исправлять проблемные EXIF-данные. Один из пользователей отмечает, что утилита за секунды исправила большое количество JPEG с ошибками EXIF. Другой описывает программу как удобную для просмотра и изменения EXIF.
Такая обратная связь характерна для инструментов командной строки: пользователи редко хвалят интерфейс, зато ценят предсказуемое решение конкретной проблемы.
Усреднённое мнение пользователей сети
JHead чаще всего ценят за компактность, понятный вывод, пригодность для сценариев и отсутствие лишней оболочки. Программа воспринимается как инструмент для тех, кто знает, какую операцию хочет выполнить: посмотреть EXIF, сдвинуть время, очистить метаданные, переименовать файлы.
Основные претензии повторяются: нет GUI, нет визуального предпросмотра, для глубокой правки тегов приходится брать ExifTool, а новичку нужно разобраться с терминалом. Поэтому JHead хорошо принимает техническая аудитория, но не всегда выбирают пользователи, которым нужно одноразово удалить данные из пары фотографий через окно.
Типичные ошибки при работе с JHead
Запуск двойным щелчком
JHead не открывает привычное окно. Если пользователь запускает исполняемый файл двойным щелчком, он не получает рабочий интерфейс. Программу нужно запускать из командной строки с указанием параметров и файлов.
Правильно:
jhead photo.jpgНеправильное ожидание: открыть jhead.exe как графическое приложение и увидеть меню.
Работа с оригиналами без копии
Команды удаления и изменения метаданных меняют файл. Это особенно важно для:
jhead -de *.jpg
jhead -purejpg *.jpg
jhead -ta+1:00 *.jpg
jhead -n%Y-%m-%d_%H-%M-%S *.jpgПеред массовой обработкой нужна копия. Это не формальность: удалённый EXIF нельзя восстановить из того же очищенного файла.
Путаница между датой файла и датой съёмки
Дата в файловой системе и DateTimeOriginal внутри EXIF могут различаться. -ft записывает дату файла по EXIF, а -dsft делает обратное. Ошибка в выборе команды меняет не тот источник времени.
Сценарий сортировки по файловой дате:
jhead -ft *.jpgСценарий записи EXIF по системной дате:
jhead -dsft *.jpgЭти команды нельзя считать взаимозаменяемыми.
Неправильные кавычки в путях
Пробелы в путях требуют кавычек:
jhead "C:\Users\User\Pictures\Summer Trip\IMG_0001.JPG"Путь с &i для переноса EXIF тоже лучше заключать в кавычки:
jhead -te "originals/&i" *.jpgБез кавычек shell может интерпретировать специальные символы до того, как они попадут в JHead.
Неправильная маска расширений
На Linux *.jpg не совпадает с *.JPG. Если команда ничего не обработала, нужно проверить регистр:
jhead *.JPGили использовать подходящую маску оболочки.
Ожидание глубокой правки всех тегов
JHead не предназначен для произвольного редактирования всех EXIF, XMP, IPTC и MakerNotes. Она меняет ограниченный набор полей и секций. Для сложной задачи с конкретными тегами лучше использовать ExifTool или Exiv2.
Автоповорот без jpegtran
-autorot зависит от jpegtran. Если jpegtran недоступен, JHead не сможет выполнить физический поворот JPEG. В такой ситуации нужно установить или подключить jpegtran, либо использовать отдельный инструмент для lossless-поворота.
Использование -purejpg на единственных исходниках
-purejpg полезен для публикационных копий, но не для единственного архива оригиналов. Команда удаляет служебные секции, которые могут понадобиться позже: EXIF, комментарии и другие данные. Для исходников лучше сохранять полную версию, а чистить отдельный экспорт.
Чек-лист перед пакетной обработкой
Перед запуском JHead на всей папке стоит пройти короткую проверку:
создать копию каталога;
убедиться, что маска файлов выбирает именно нужные JPEG;
проверить EXIF у одного файла командой
jhead photo.jpg;выполнить команду на тестовом файле;
повторно вывести EXIF и сравнить изменения;
открыть файл в просмотрщике;
проверить пути с пробелами и кавычки;
убедиться, что
jpegtranдоступен для-autorot;убедиться, что ImageMagick доступен для
-rgt;запускать команду на всей папке только после теста.
Для разных задач проверка выглядит по-разному:
| Задача | Что проверить до запуска | Что проверить после |
| Удаление EXIF | есть копия оригинала | EXIF больше не выводится |
Очистка -purejpg | файл предназначен для публикации | изображение открывается, лишние секции удалены |
| Исправление времени | разница рассчитана правильно | строка Date/Time изменилась как нужно |
| Переименование | формат имени не содержит запрещённых символов | файлы получили ожидаемые имена |
| Перенос EXIF | имена оригиналов и копий совпадают | обработанный JPEG получил EXIF |
| Автоповорот | доступен jpegtran | изображение открывается в правильной ориентации |
Подробные примеры команд
Посмотреть данные одного снимка
jhead IMG_1001.JPGЭта команда ничего не меняет. Она безопасна для первого знакомства с JHead и подходит для проверки файла перед более серьёзными операциями.
Посмотреть данные всех JPEG в папке
jhead *.JPGЕсли вывод слишком длинный:
jhead *.JPG > report.txtОтчёт можно открыть в текстовом редакторе и быстро просмотреть модели камер, даты и наличие GPS.
Удалить EXIF из копий для публикации
jhead -de *.jpgЕсли нужно очистить не только EXIF, а все лишние JPEG-секции:
jhead -purejpg *.jpgДля публичных изображений чаще используют -purejpg, для точечной очистки только EXIF — -de.
Удалить XMP после редактора
jhead -dx *.jpgXMP может оставаться после обработки в графических программах. Команда удаляет именно XMP, не заменяя остальные операции.
Удалить IPTC из редакционных файлов
jhead -di *.jpgКоманда подходит, когда в файлах есть подписи, категории или редакционные метаданные IPTC, которые не должны попасть в публичную версию.
Сдвинуть время на 2 часа вперёд
jhead -ta+2:00 *.jpgПосле выполнения нужно проверить несколько файлов:
jhead IMG_1001.JPGЕсли дата изменилась верно, можно считать операцию успешной.
Сдвинуть время на 45 минут назад
jhead -ta-0:45 *.jpgТакой сценарий часто встречается при синхронизации двух камер, когда часы одной камеры отставали.
Исправить неправильный год
jhead -da2024:01:01-2002:01:01 *.jpgКоманда применяет разницу между ошибочной и правильной датой. Она сохраняет относительную последовательность снимков.
Установить точную дату и время одному файлу
jhead -ts2024:06:15-14:30:00 IMG_1001.JPGТакой способ подходит для единичных файлов, где правильное время известно.
Переименовать по дате
jhead -n%Y-%m-%d_%H-%M-%S *.jpgДля предотвращения слишком одинаковых имён можно добавить исходное имя:
jhead -n%Y-%m-%d_%H-%M-%S_%f *.jpgПеренести EXIF из оригиналов
jhead -te "originals/&i" *.jpgПеред командой нужно убедиться, что папка originals содержит файлы с такими же именами.
Удалить встроенные миниатюры
jhead -dt *.jpgКоманда подходит для копий, где миниатюры не нужны или устарели после обработки.
Автоматически повернуть изображения
jhead -autorot *.jpgПосле операции нужно открыть несколько вертикальных кадров и проверить, что они отображаются правильно.
Как встроить JHead в рабочий процесс
Для фотографа
Фотографу JHead полезен в двух местах: перед сортировкой архива и перед передачей файлов наружу. После съёмки с нескольких камер можно исправить время одной камеры, затем переименовать все JPEG по дате. Перед публикацией в портфолио можно очистить экспортные копии.
Пример процесса:
jhead -model "Canon" -ta+0:12 *.jpg
jhead -n%Y-%m-%d_%H-%M-%S *.jpgПотом публикационные копии:
jhead -purejpg publish/*.jpgВ этом сценарии JHead не заменяет RAW-конвертер или редактор, но закрывает служебную часть обработки.
Для веб-редактора
Веб-редактору важны предсказуемые имена и отсутствие лишних метаданных. JHead помогает быстро очистить папку с JPEG перед загрузкой на сайт:
jhead -purejpg *.jpgЕсли изображения нужно сохранить в хронологическом порядке:
jhead -n%Y-%m-%d_%H-%M-%S *.jpgПосле этого файлы можно дополнительно проверить визуально в FastStone Image Viewer или XnView.
Для администратора
Администратор может использовать JHead в сценариях, где изображения поступают в папку автоматически: выгрузки с камер, архивы сотрудников, публичные каталоги. Командная природа программы позволяет включить её в обработку без ручного интерфейса.
Пример очистки входящей папки:
jhead -purejpg incoming/*.jpgПример отчёта:
jhead incoming/*.jpg > incoming-exif.txtJHead не требует графической сессии, поэтому подходит для удалённых терминалов и простых серверных задач с JPEG.
Для разработчика
Разработчику JHead интересен как небольшая программа на C, работающая с EXIF и JPEG-заголовками. Её можно использовать как внешнюю утилиту в сценариях обработки или изучать как пример практической работы с JPEG-структурами.
При этом для разработки приложений с глубокой интеграцией метаданных чаще выбирают Exiv2 или ExifTool. JHead удобнее как отдельная утилита, а не как полноценная библиотека высокого уровня.
Для пользователя без опыта командной строки
JHead можно освоить, если ограничиться несколькими командами:
jhead photo.jpg
jhead -purejpg photo.jpg
jhead -ta+1:00 photo.jpg
jhead -n%Y-%m-%d_%H-%M-%S photo.jpgНо для человека, которому нужно один раз удалить метаданные из пары файлов, графический инструмент будет проще. JHead раскрывается там, где действия повторяются.
Частые вопросы
Можно ли пользоваться JHead как обычной программой с окном?
Нет. JHead работает через командную строку. У неё нет графического окна, панели инструментов, предпросмотра и кнопки запуска операции.
Можно ли удалить GPS из фотографии?
Да. GPS-данные удаляются вместе с EXIF, если они записаны в EXIF-заголовке. Для этого используется:
jhead -de photo.jpgДля более жёсткой очистки публикационной копии:
jhead -purejpg photo.jpgМожно ли удалить только XMP или только IPTC?
Да. XMP удаляется командой:
jhead -dx photo.jpgIPTC удаляется командой:
jhead -di photo.jpgМожно ли восстановить EXIF после удаления?
Из того же очищенного файла — нет. EXIF можно вернуть только из сохранённого оригинала или внешней копии. Для переноса из оригинала используется:
jhead -te original.jpg edited.jpgЗаменяет ли JHead ExifTool?
Нет. JHead проще и уже по возможностям. ExifTool нужен для сложной работы с большим количеством форматов и тегов. JHead удобен для типовых JPEG-операций: просмотр, очистка, даты, переименование, перенос EXIF и миниатюры.
Можно ли использовать JHead для RAW?
JHead ориентирован на JPEG/EXIF. Для RAW и сложных метаданных лучше использовать ExifTool или специализированные инструменты.
Можно ли обработать сразу всю папку?
Да. Для этого используются маски:
jhead -purejpg *.jpg
jhead -ta+1:00 *.jpg
jhead -n%Y-%m-%d_%H-%M-%S *.jpgПеред такой обработкой нужно создать копию папки.
Что делает -purejpg?
-purejpg удаляет из JPEG секции, которые не нужны для отображения изображения. Это способ очистить файл от метаданных и служебных блоков. Команда не является фоторедактором и не предназначена для улучшения качества изображения.
Почему после переименования имена не такие, как ожидалось?
Причины обычно три: в файле нет корректной EXIF-даты, форматная строка содержит символы, неподходящие для имени файла, или на Windows % использован внутри .bat без удвоения. В batch-файле нужно писать %%Y, %%m, %%d и так далее.
Почему -autorot не работает?
Для -autorot нужен jpegtran. Если эта утилита не установлена или не доступна из командной строки, JHead не выполнит физический поворот изображения.
Есть ли русский интерфейс?
Нет. JHead работает через команды и выводит сведения на английском.
Итог: кому стоит использовать JHead
JHead стоит выбирать, когда нужна быстрая и повторяемая работа с JPEG-метаданными: посмотреть EXIF, удалить служебные данные, исправить время, переименовать фотоархив по дате, перенести EXIF из оригиналов или привести ориентацию снимков к нормальному виду. Это программа для тех случаев, где команда лучше окна: много файлов, одинаковое действие, понятный результат, возможность встроить обработку в сценарий.
Для фотографа JHead полезен как вспомогательная утилита после съёмки и перед публикацией. Для веб-редактора — как способ очистить JPEG перед загрузкой. Для администратора — как простой инструмент пакетной обработки. Для разработчика — как компактная программа на C, показывающая практическую работу с JPEG/EXIF.
Если нужна визуальная навигация по фотоархиву, удобнее XnView MP, XnView, IrfanView или FastStone Image Viewer. Если нужна глубокая правка метаданных разных форматов, логичнее ExifTool. Если нужно просто перетащить файлы мышью и убрать метаданные без команд, подойдёт ExifCleaner. JHead остаётся сильным вариантом для своей конкретной ниши: командная обработка JPEG/EXIF без лишней оболочки.
Список изменений
1999: появление идеи:
- JHead был написан в период, когда программ для просмотра EXIF-заголовков было заметно меньше, чем сейчас. Первоначальная задача была практической: извлечь из JPEG понятные данные о том, как камера сняла кадр. Для фотографа это важная информация: выдержка, диафрагма, вспышка, фокусное расстояние, модель камеры, дата и время.
- Ранняя философия сохранилась до сих пор: программа должна быть небольшой, понятной и пригодной для автоматизации. JHead не стремится стать графической оболочкой, каталогизатором или редактором всех тегов. Её развитие шло через добавление конкретных команд, которые закрывают частые задачи с JPEG.
2001: удаление комментариев, миниатюры и перенос EXIF:
- В 2001 году появились функции, которые превратили JHead из просмотрщика в утилиту для изменения JPEG-заголовков. Добавление -dc позволило удалять comment field. Появилась возможность сохранять встроенные миниатюры. Затем была добавлена пересадка EXIF-заголовка из одного изображения в другое через -te .
- Именно -te стал одной из характерных функций JHead. Она закрывает проблему, когда пользователь редактирует фото, а редактор удаляет EXIF. Вместо ручного восстановления даты и параметров камеры можно вернуть заголовок из оригинального JPEG.
- В тот же период появились удаление EXIF-секции и коррекция времени. Для фотоархивов это важнее многих визуальных функций: неправильная дата делает сортировку бессмысленной, а лишний EXIF может раскрывать приватные данные.
2002: улучшение дат, ориентации и структуры кода:
- В 2002 году JHead стал точнее работать с датами и миниатюрами. Программа учитывала скорректированную дату при сочетании временных поправок с переименованием и установкой системной даты файла. Появилось отображение ориентации изображения в сводке.
- Код был разделён так, чтобы часть, отвечающая за работу с JPEG, можно было использовать отдельно от командной логики JHead. Для небольшой утилиты это важный этап: программа осталась простой, но её внутренние компоненты стали более пригодными для повторного использования.
2003–2004: автоповорот, комментарии и переименование:
- В 2003 году появилась автоматическая ориентация изображения по EXIF-тегу. Это важный шаг для практической работы с JPEG: камера может хранить кадр в одном положении, а правильное отображение задавать через тег. JHead получил команду, которая приводит файл к нормальному виду с использованием jpegtran .
- В этот же период развивалась работа с комментариями: добавление, сохранение и замена comment field. Появилась команда -cl , позволяющая записывать комментарий прямо из командной строки. Для пакетной работы это удобнее, чем открывать редактор для каждого файла.
- В 2004 году добавилась очистка rotation tag через -norot и последовательное переименование через %i в формате -n . Переименование стало гибче: можно не только использовать дату, но и добавлять порядковый номер.
2005–2006: очистка JPEG, GPS, большие поправки дат и thumbnail:
- В 2005 году появились команды -purejpg и -du . Они сделали JHead удобнее для очистки файлов от лишних секций, которые не нужны для отображения изображения. Для подготовки фотографий к публикации это один из самых полезных сценариев.
- В этот же период JHead начал отображать GPS-информацию, если она присутствует в изображении. Для приватности это важная деталь: пользователь может увидеть, содержит ли фотография координаты.
- Появление -da упростило исправление крупных ошибок даты. Вместо грубого ручного пересчёта часов можно задать разницу между неправильной и правильной датой. Это особенно важно, когда фотографии сняты в разные дни, а камера записывала неправильный год или месяц.
- В 2005–2006 годах развивалась работа с миниатюрами: замена thumbnail, регенерация thumbnail, обработка ориентации миниатюры при автоповороте. Это решало проблему рассинхронизации между основным изображением и встроенным превью.
2007–2009: IPTC, XMP и устойчивость к разным JPEG:
- В 2007 году JHead получил обработку IPTC. Это расширило программу за пределы только EXIF и comment field. В редакционных процессах IPTC может хранить важные описания, категории и данные об авторстве, поэтому возможность удалить такую секцию отдельной командой полезна.
- Затем появилась более аккуратная работа с XMP. JHead научился распознавать XMP-секции и не удалять их непреднамеренно там, где команда не должна их трогать. Это важно для файлов, которые проходили через Adobe-приложения и другие редакторы.
- В 2008–2009 годах исправлялись переполнения строк, улучшалась работа с вариантами IPTC, GPS и нестандартными JPEG-секциями. Для пользователя это выражается просто: программа лучше переносит файлы из разных камер и редакторов.
2010–2015: UTF-8, качество JPEG, trailing zeroes и выпуск 3.0:
- В 2010–2012 годах JHead получил улучшения для IPTC в UTF-8, обработку очень больших рациональных чисел в EXIF, исправления компиляции и предупреждений. Появилась возможность показывать качество JPEG. Для командной диагностики это полезно: пользователь получает больше технической информации без открытия отдельного анализатора.
- В 2013 году добавлен параметр -zt для обрезки 32 КБ trailing zeroes у некоторых изображений Nikon 1 J2 и J3. Это узкая функция, но она хорошо показывает стиль развития JHead: команда появляется под конкретную практическую проблему с реальными файлами.
- В 2015 году ветка 3.0 закрепила накопленные изменения. К этому моменту JHead уже был не просто EXIF-просмотрщиком, а зрелой утилитой для пакетного обслуживания JPEG: даты, поворот, миниатюры, очистка, перенос заголовков, IPTC, XMP и комментарии.
2018–2021: исправления, Debian-патчи, GitHub и тесты:
- Поздние изменения сосредоточены не на расширении интерфейса, а на устойчивости. Исправлялись ошибки thumbnail replacement, применялись Debian-патчи, добавлялись тесты, проект переехал на GitHub. Также устранялись проблемы, найденные fuzz-тестированием.
- Для обычного пользователя такие изменения не выглядят как новая кнопка или новая вкладка, но для утилиты, которая изменяет файлы напрямую, устойчивость важнее косметики. Ошибка в обработке заголовка может повредить метаданные, поэтому тестирование и исправление необычных случаев имеют практический смысл.
2023–2026: сопровождение и расширение форматов в ветке разработки:
- В 2023 году в журнале изменений отражено закрытие накопленных задач GitHub. В 2026 году в ветке разработки появились ограниченная поддержка PNG и добавление WebP. Эти изменения расширяют направление развития, но ядро программы остаётся прежним: компактная командная работа с метаданными и заголовками изображений.
- Для повседневного обзора JHead важно не смешивать новые экспериментальные направления с основной ролью программы. Самый надёжный и понятный сценарий JHead по-прежнему связан с JPEG-фотографиями и EXIF.


Оставте свой отзыв о JHead